gets(), puts() এবং getchar(), putchar() এর ব্যবহার

Computer Programming - সি স্ট্যান্ডার্ড লাইব্রেরি রেফারেন্স (C Standard Library Reference) Input/Output Functions (ইনপুট/আউটপুট ফাংশনস) |
390
390

gets(), puts(), getchar() এবং putchar() এর ব্যবহার

সি প্রোগ্রামিং ভাষায় gets(), puts(), getchar() এবং putchar() ফাংশনগুলো ইনপুট এবং আউটপুটের জন্য ব্যবহার করা হয়। প্রতিটি ফাংশনের একটি নির্দিষ্ট কাজ রয়েছে এবং প্রোগ্রামিংয়ে ইউজারের সাথে ইন্টারঅ্যাকশন আরও সহজ করে তোলে। নিচে এই ফাংশনগুলো সম্পর্কে বিস্তারিত আলোচনা করা হলো।


gets() – স্ট্রিং ইনপুট (Deprecated)

gets() ফাংশনটি কনসোল থেকে সম্পূর্ণ একটি লাইন স্ট্রিং ইনপুট নিতে ব্যবহৃত হয়। এটি ব্যবহার করে ইউজার একটি সম্পূর্ণ লাইন টাইপ করতে পারে, যা পরবর্তী newline ক্যারেক্টার পর্যন্ত ইনপুট হিসাবে গৃহীত হয়। তবে, gets() ফাংশনটি নিরাপত্তাজনিত ঝুঁকির কারণে বর্তমানে পরিত্যক্ত (deprecated), কারণ এটি বাফার ওভারফ্লো ঘটাতে পারে। এর পরিবর্তে fgets() ফাংশন ব্যবহার করার পরামর্শ দেওয়া হয়।

সিঙ্কট্যাক্স:

gets(string);

উদাহরণ:

#include <stdio.h>

int main() {
    char name[100];

    printf("Enter your name: ");
    gets(name);  // এটি নিরাপদ নয় এবং পরামর্শ দেওয়া হয় না

    printf("Hello, %s\n", name);
    return 0;
}

বিঃদ্রঃ gets() ফাংশনটি নিরাপদ নয়, তাই এর পরিবর্তে fgets() ব্যবহার করা উচিৎ।


puts() – স্ট্রিং আউটপুট

puts() ফাংশনটি একটি স্ট্রিং কনসোলে প্রদর্শন করার জন্য ব্যবহৃত হয়। এটি printf() এর বিকল্প হিসেবে স্ট্রিং আউটপুট দিতে পারে। puts() ফাংশনটি স্ট্রিং প্রদর্শনের পরে একটি newline ক্যারেক্টার (নতুন লাইন) যোগ করে, যার ফলে আউটপুটের পরে নতুন লাইনে চলে যায়।

সিঙ্কট্যাক্স:

puts(string);

উদাহরণ:

#include <stdio.h>

int main() {
    char name[] = "Alice";

    puts("Hello,");
    puts(name);  // আউটপুটের শেষে newline ক্যারেক্টার যুক্ত করবে

    return 0;
}

এখানে puts() ফাংশনটি স্ট্রিং আউটপুট প্রদর্শন করেছে এবং প্রতিটি আউটপুটের শেষে একটি নতুন লাইন যোগ করেছে।


getchar() – একক ক্যারেক্টার ইনপুট

getchar() ফাংশনটি কনসোল থেকে একটি একক ক্যারেক্টার ইনপুট নিতে ব্যবহৃত হয়। এটি একটি অক্ষর ইনপুট গ্রহণ করে এবং সেই অক্ষরটি প্রোগ্রামে রিটার্ন করে। getchar() সাধারণত একক অক্ষর ইনপুটের জন্য উপযুক্ত।

সিঙ্কট্যাক্স:

char getchar(void);

উদাহরণ:

#include <stdio.h>

int main() {
    char ch;

    printf("Enter a character: ");
    ch = getchar();  // একক অক্ষর ইনপুট

    printf("You entered: %c\n", ch);
    return 0;
}

এখানে getchar() ফাংশনটি একটি অক্ষর ইনপুট গ্রহণ করেছে এবং printf() এর মাধ্যমে সেই অক্ষরটি প্রদর্শন করেছে।


putchar() – একক ক্যারেক্টার আউটপুট

putchar() ফাংশনটি কনসোলে একটি একক ক্যারেক্টার আউটপুট প্রদর্শনের জন্য ব্যবহৃত হয়। এটি একটি ক্যারেক্টার আর্গুমেন্ট হিসেবে গ্রহণ করে এবং সেই ক্যারেক্টারটি কনসোলে প্রদর্শন করে।

সিঙ্কট্যাক্স:

putchar(character);

উদাহরণ:

#include <stdio.h>

int main() {
    char ch = 'A';

    printf("The character is: ");
    putchar(ch);  // একক অক্ষর আউটপুট করবে
    printf("\n");

    return 0;
}

এখানে putchar() ফাংশনটি ch ভেরিয়েবলে থাকা A অক্ষরটি কনসোলে আউটপুট করেছে।


gets() বনাম fgets()

যেহেতু gets() ফাংশনটি বাফার ওভারফ্লো ঘটাতে পারে, তাই fgets() ফাংশনটি একটি নিরাপদ বিকল্প হিসেবে ব্যবহার করা হয়। fgets() ইনপুটের আকার নির্দিষ্ট করতে দেয়, যার ফলে অতিরিক্ত ডেটা স্টোর হওয়ার ঝুঁকি থাকে না।

fgets() উদাহরণ:

#include <stdio.h>

int main() {
    char name[100];

    printf("Enter your name: ");
    fgets(name, sizeof(name), stdin);  // নিরাপদ স্ট্রিং ইনপুট

    printf("Hello, %s", name);
    return 0;
}

সারসংক্ষেপ

ফাংশনকাজব্যবহারের ধরন
gets()স্ট্রিং ইনপুট (পরিত্যক্ত)gets(string);
puts()স্ট্রিং আউটপুটputs(string);
getchar()একক ক্যারেক্টার ইনপুটchar ch = getchar();
putchar()একক ক্যারেক্টার আউটপুটputchar(ch);
fgets()নিরাপদ স্ট্রিং ইনপুটfgets(string, size, stdin);

gets() এবং puts() স্ট্রিং ইনপুট এবং আউটপুটের জন্য ব্যবহৃত হয়, তবে gets() ফাংশনটি নিরাপদ নয়, তাই fgets() ফাংশন ব্যবহার করা বাঞ্ছনীয়। অন্যদিকে, getchar() এবং putchar() একক ক্যারেক্টার ইনপুট এবং আউটপুটের জন্য ব্যবহৃত হয়।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion